

main: prelude.phs.h basic_1.phs.h basic_2.phs.h basic_3.phs.h basic_generatrix.phs.h\
bind_1.phs.h bind_2.phs.h compose_lambda_lifting.phs.h compose_lambda_lifting_2.phs.h\
factorial_guard.phs.h guard_lambdaexp.phs.h if_facrorial.phs.h if_lambda_complex.phs.h\
if_test.phs.h lambda_lifting.phs.h lamdalifting2.phs.h lasy_list.phs.h lazy_1.phs.h\
lazy_bind_complex.phs.h lazy_list.phs.h list.phs.h list_pattern_matching.phs.h\
locals.phs.h locals2.phs.h locals_lazy_compose.phs.h pattern_matching_factorial.phs.h\
simple_pattern_matching.phs.h usertypes.phs.h operators_comments.phs.h
	c++ main.cpp -I../../include -I. -o run.exe

prelude.phs.h: prelude.phs
	../bin/phaskell prelude.phs
	
operators_comments.phs.h: operators_comments.phs
	../bin/phaskell operators_comments.phs

basic_1.phs.h: basic_1.phs
	../bin/phaskell basic_1.phs
	
basic_2.phs.h: basic_2.phs
	../bin/phaskell basic_2.phs

basic_3.phs.h: basic_3.phs
	../bin/phaskell  basic_3.phs
 
basic_generatrix.phs.h: basic_generatrix.phs
	../bin/phaskell basic_generatrix.phs

bind_1.phs.h: bind_1.phs
	../bin/phaskell bind_1.phs

bind_2.phs.h: bind_2.phs
	../bin/phaskell bind_2.phs

compose_lambda_lifting.phs.h: compose_lambda_lifting.phs
	../bin/phaskell compose_lambda_lifting.phs

compose_lambda_lifting_2.phs.h: compose_lambda_lifting_2.phs
	../bin/phaskell compose_lambda_lifting_2.phs

factorial_guard.phs.h: factorial_guard.phs
	../bin/phaskell factorial_guard.phs

guard_lambdaexp.phs.h: guard_lambdaexp.phs
	../bin/phaskell guard_lambdaexp.phs

if_facrorial.phs.h: if_facrorial.phs
	../bin/phaskell if_facrorial.phs

if_lambda_complex.phs.h: if_lambda_complex.phs
	../bin/phaskell if_lambda_complex.phs

if_test.phs.h: if_test.phs
	../bin/phaskell if_test.phs

lambda_lifting.phs.h: lambda_lifting.phs
	../bin/phaskell lambda_lifting.phs

lamdalifting2.phs.h: lamdalifting2.phs
	../bin/phaskell lamdalifting2.phs

lasy_list.phs.h: lasy_list.phs
	../bin/phaskell lasy_list.phs

lazy_1.phs.h: lazy_1.phs
	../bin/phaskell lazy_1.phs

lazy_bind_complex.phs.h: lazy_bind_complex.phs
	../bin/phaskell lazy_bind_complex.phs

lazy_list.phs.h: lazy_list.phs
	../bin/phaskell lazy_list.phs

list.phs.h: list.phs
	../bin/phaskell list.phs

list_pattern_matching.phs.h: list_pattern_matching.phs
	../bin/phaskell list_pattern_matching.phs

locals.phs.h: locals.phs
	../bin/phaskell locals.phs

locals2.phs.h: locals2.phs
	../bin/phaskell locals2.phs

locals_lazy_compose.phs.h: locals_lazy_compose.phs
	../bin/phaskell locals_lazy_compose.phs

pattern_matching_factorial.phs.h: pattern_matching_factorial.phs
	../bin/phaskell pattern_matching_factorial.phs

simple_pattern_matching.phs.h: simple_pattern_matching.phs
	../bin/phaskell simple_pattern_matching.phs

usertypes.phs.h: usertypes.phs
	../bin/phaskell usertypes.phs
	
clean:
	del *h
	del *lambda
